home *** CD-ROM | disk | FTP | other *** search
- /*---------------------------------------------------------------
-
- CPluginManager.h
-
- This object initializes and keeps track of plugins in the plugin
- folder.
-
- ---------------------------------------------------------------*/
-
- #ifndef CPluginManager_H
- #define CPluginManager_H
- #include "IInterfaceProvider.h"
- #include <TArray.h>
- #include "IPluginInfoIntf.h"
- #include "CPlugin.h"
-
- #pragma warn_hidevirtual off
- template class TArray<CPlugin*>;
- #pragma warn_hidevirtual reset
-
- class CPluginManager
- {
- public:
-
- CPluginManager();
- ~CPluginManager();
-
- void ReadPluginDir();
- short GetPluginCount() { return mPluginList.GetCount(); };
- CPlugin* GetPluginByIndex( short index );
-
- void GetPluginDescriptorbyIndex( short index, char* outName );
-
- CPlugin* GetCurrentPlugin();
- void SetCurrentPluginIndex( short inIndex ) { mCurrIndex = inIndex; };
-
- private:
- void CreateFileList( FSSpec inDirSpec, bool inRecursive );
- void ProcessFile( FSSpec& inSpec );
-
- TArray<CPlugin*> mPluginList;
-
- short mCurrIndex;
-
- };
-
- #endif